Typically, before deployment of an application, test data is required to test and evaluate the performance of the application in a test environment; and then the application is deployed in a target environment. Since real data is typically not available during the testing and development stages, generation of “close-to-real” synthetic data is desirable. Existing approaches of data generation mostly focus on generating data for testing the correctness of the application, but not very useful for performance evaluation of the application.